local class = require 'middleclass'
require 'util'
require 'button'

Menu = class('menu')
function Menu:initialize()
    self.w = sw / 5
    self.h = sh / 5 * 2
    self.x = sw / 2 - self.w / 2
    self.y = sh / 2 - self.h / 2
    self.buttons = {}
end

function Menu:addBtn(text, x, y, w, h, color, func)
    newBtn = Button:new(text, x, y, w, h, color)
    if func ~= nil then
        newBtn:onClick(func)
    end
    table.insert(self.buttons, newBtn)
end

function Menu:update(dt)
    for _, v in ipairs(self.buttons) do
        v:update(dt)
    end
end

function Menu:draw()
    lg.setColor(color({243, 255, 189}))
    lg.rectangle('fill', self.x, self.y, self.w, self.h)
    lg.setColor({0, 0, 0})
    lg.rectangle('line', self.x, self.y, self.w, self.h)
    for _, v in ipairs(self.buttons) do
        v:draw()
    end
    if debug then
        lg.circle('fill', self.x, self.y, 10)
    end
end
